home *** CD-ROM | disk | FTP | other *** search
/ Languguage OS 2 / Languguage OS II Version 10-94 (Knowledge Media)(1994).ISO / language / embedded / m68k / tutor.arc / DC.SA < prev    next >
Text File  |  1990-01-05  |  2KB  |  51 lines

  1. DC       IDNT      1,0       DC (Data Conversion) Command            12/10/81
  2.  
  3.          XDEF      DCCMD
  4.          XDEF      NUMCON0
  5.  SPC 1
  6.          XREF      FIXBUF
  7.          XREF      FNEXTF
  8.          XREF      GETA
  9.          XREF      HEX2DEC
  10.          XREF      MSG
  11.          XREF      PNT8HX
  12.          XREF      PNTZHX
  13.          XREF      SYNTAX
  14.  SPC 1
  15.          SECTION   11
  16.  
  17.  
  18. *
  19. *
  20. *  ***DC***  NUMBER CONVERSIONS
  21. *
  22. DCCMD    DS        0         -DATA CONVERT COMMAND-
  23. NUMCON0  LEA       SYNTAX(PC),A0  IF NO PARAMETERS
  24.          BSR FNEXTF  POINT TO NEXT PARAMETER
  25.          BSR       GETA      EVALUATE EXPRESSION
  26.  SPC 1
  27.          BSR FIXBUF  SET UP FOR PRINT
  28.          MOVE.L    D0,D7     D7=VALUE
  29.          TST.L D7  SEE IF NEGATIVE
  30.          BPL.S NUMCON1
  31.          MOVE.B #'$',(A6)+
  32.          MOVE.L D7,D0 MOVE NEGATIVE RESULT TO D0
  33.          BSR PNT8HX
  34.          MOVE.B #'=',(A6)+
  35. NUMCON1  MOVE.L D7,D0  RESTORE
  36.          BPL.S NUMCON2
  37.          NEG.L     D0
  38.          BMI.S     NUMCON2   SPECIAL CASE (-0)
  39.          MOVE.B #'-',(A6)+
  40. NUMCON2  MOVE.B #'$',(A6)+
  41.          BSR PNTZHX
  42.          MOVE.B #'=',(A6)+  NOW PRINT DECIMAL VALUE
  43.          MOVE.L D7,D0
  44.          BPL.S NUMCON3
  45.          NEG.L     D0
  46.          BMI.S     NUMCON3   SPECIAL CASE (-0)
  47.          MOVE.B #'-',(A6)+
  48. NUMCON3  MOVE.B #'&',(A6)+
  49.          BSR       HEX2DEC  PUT VALUE IN BUFFER
  50.          BRA MSG  GO PRINT IT
  51.          END